package uk.ac.lkl.common.util;



/**
 * Classes implementing this interface are able to convert instances of class
 * <code>S</code> (the source) to instances of class <code>D</code> (the
 * destination).
 * 
 * @param S
 *            the source class
 * @param D
 *            the destination class
 * 
 * @author Darren Pearce
 * @version $Revision$
 * @version $Date$
 * 
 */
public interface Converter<S, D> {

    /**
     * Convert an instance of source to an instance of destination
     * 
     * @param source
     *            the instance to convert
     * 
     * @return the converted instance
     * 
     */
    public D convert(S source);

}
